package com.threeox.commonlibrary.request;

import com.threeox.commonlibrary.entity.engine.request.base.BaseRequestMsg;
import com.threeox.commonlibrary.ui.view.engineview.listmodel.ListModelBaseView;

/**
 *
 * @ClassName: IRequest
 *
 * @Description: Todo(请求网络的接口)
 *
 * @author 赵屈犇
 *
 * @date 创建时间:2016/12/22 14:22
 *
 * @version 1.0
 */
public interface IRequest {

	/**
	 * 首页请求接口
	 *
	 * @param requestMsg
	 */
	void execFirst(BaseRequestMsg requestMsg);

	/**
	 * 下一页请求接口
	 *
	 * @param requestMsg
	 */
	void execNext(BaseRequestMsg requestMsg);

	/**
	 * 请求接口
	 *
	 * @param requestMsg
	 */
	void exec(BaseRequestMsg requestMsg);

	/**
	 * 设置列表的扩展类
	 * 
	 * @param onListModelExtend
	void setOnListModelExtend(IListModelExtend onListModelExtend);
     */

    /**
     * 设置列表模型View
     *
     * @param listModelBaseView
     */
    void setListModelBaseView(ListModelBaseView listModelBaseView);

	/**
	 * 注入各种加载中的View
	 *
	 * @param reloadView
     * @Deprecated
	void setReloadView(IReloadView reloadView);
	 */

	/**
	 * 设置是否清除
	 * 
	 * @param isClear
	 */
	void setIsClear(boolean isClear);

	/**
	 * 设置是否为第一次进入
	 * 
	 * @param isFirstJoin
	 */
	void setFirstJoin(boolean isFirstJoin);

	/**
	 * 设置第一页的大小
	 * 
	 * @param firstPage
	 */
	void setFirstPage(int firstPage);
}
